/**
 * Created on [2019/5/3 17:46] by 李瑞益
 *
 * 项目名称: cache
 *
 * 本程序版权属于福建慧政通信息科技有限公司所有。
 * 任何组织和个人未经福建慧政通信息科技有限公司许可与授权,不得擅自传播、复制、更改该程序的内容。
 * 本程序受版权法和国际条约的保护。如未经授权而擅自复制或传播本程序(或其中任何部分),
 * 将受到严厉的刑事及民事制裁，并将在法律许可的范围内受到最大可能的起诉!
 *
 * 2019 福建慧政通信息科技有限公司
 */
package com.lry.dao;

import com.lry.bean.Employee;

import org.apache.ibatis.annotations.*;
import org.apache.ibatis.type.JdbcType;

/**
 * 
 *
 * @author 李瑞益
 */
public interface EmployeeMapper {

    @Select({"select * from employee where id = #{id,jdbcType=INTEGER}"})
    @Results(id="resultMap",value={
            @Result(column="id",property = "id",jdbcType = JdbcType.INTEGER),
            @Result(column = "name",property = "name",jdbcType = JdbcType.VARCHAR),
            @Result(column = "age",property = "age",jdbcType = JdbcType.INTEGER)
    })
    Employee getById(Integer id);

    @UpdateProvider(type = EmployeeSqlProvider.class,method = "update")
    @ResultMap("resultMap")
    int update(Employee employee);

    @Delete({"delete from employee where id = #{id}"})
    int delete(Integer id);

    @Insert({"insert into employee(name,age) values(#{name},#{age})"})
    int insert(Employee employee);

    @Select({
            "select * from employee where name=#{name,jdbcType=VARCHAR}"
    })
    Employee getEmployeeLastName(String lastName);
}
